The meanings of certain acronyms and abbreviations used herein are given in Table 1.
TABLE 1Acronyms and AbbreviationsAESAdvanced Encryption StandardALUArithmetic Logical UnitCPUCentral Processing UnitNOPNo Operation instructionRISCReduced Instruction Set Computer
Embedded security refers to security features built into a device, including physical tamper-resistance features, cryptographic keys and algorithms. Embedded security features can be found today on a variety of computing devices, e.g., personal computers and servers, cellular telephones, set-top boxes, and many appliances.
Many modern computers have hardware support that enables them to execute multiple threads, i.e., paths of execution of program code, efficiently, even though the separate instruction streams comprising each thread may treat a CPU and its instruction pipeline as a shared resource.
Hiding information in an instruction pipeline is proposed in U.S. Patent Application Publication No. 2009/0113189. Pipeline stalls in executable code are located. Secret information taken from a first location is encoded as computer instructions configured to perform some function when executed on a pipeline processor. The encoded information is inserted into the executable code at the stalls. At a second location the encoded information is extracted from the instructions located at the stalls and decoded.